Архітектура комп’ютера (ч. 2 )
1 рівень
1
Процесор має клас: (А) master, (Б) arbiter, (В) slave.
АБВ
2
Прямим доступом до пам’яті керує: (А) програма, (Б) спеціалізований процесор, (В) порт вводу-виводу.
АБВ
3
RISC програми в середньому коротші від CISC програм: (А) так; (Б) ні, (В) програми приблизно рівні.
АБВ
4
Ввід-вивід з перериванням має: (А) високу, (Б) середню, (В) порівняльну низьку швидкодію.
АБВ
5,12
Паралельна обробка машинних інструкцій є несумісною з конвеєрною обробкою даних : (А) так; (Б) ні, (В) частково сумісна.
АБВ
6,13
Північний і південний мости ПК з’єднані шиною: (А) USB, (Б) PCI, (В) спеціалізованою шиною.
АБВ
7,20
Техніка спекулятивного виконання машинних інструкцій застосовується в: (А) EPIC процесорах, (Б) RISC процесорах, (В) VLIW процесорах.
АБВ
8,21
Механізм передбачення виконання умовного переходу мають : (А) VLIW процесори, (Б) машини потоку даних; (В) RISC машини.
АБВ
9,22
Невпорядковане виконання машинних інструкцій притамане: (А) VLIW машинам; (Б) RISC машинам; (В) EPIC машинам.
АБВ
10,30
Зарахування результату спекулятивно виконаних машинних інструкцій виконується : (А) негайно; (Б) відкладається, (В) результати не зараховуються.
АБВ
2 рівень
11,15. Визначити середнє значення прискорення, що забезпечує конвеєрний варіант інформаційного тракту у порівнянні з неконвеєрним за умови, коли в неконвеєрній реалізації довжина одного циклу складає 10 нс, а питома вага чотирициклових АЛП-інструкцій та умовних переходів і п'ятициклових операцій load/store дорівнює, відповідно, 40, 20 і 40 відсотків. Припустити, що складна конвеєрна реалізація примушує збільшити тривалість циклу на 10 відсотків.
Відповідь
Середній час виконання фрагменту програми складає:
10 нс * (( 40% + 20% ) * 4 + 40% * 5) = 44 нс.
Довжина циклу у конвеєрному варіанті:
10 нс + 1нс =11 нс.
Прискорення:
44 нс : 11нс = 4.
12. Проектувальник компілятора має вибрати один з двох варіантів компіляції певного оператора мови програмування високого рівня. В варіантах компіляції застосовують машинні інструкції класів А, В, С з різним числом тактових інтервалів (циклів) на виконання. Варіанти компіляції подано наступною таблицею. Тут ЧТІ є числом тактових інтервалів на виконання однієї інструкції.
Варіант
компіляції
Число інструкцій відповідного класу
А (ЧТІ=1)
В (ЧТІ=2)
С (ЧТІ=3)
1
2
1
2
2
4
1
1
Скільки тактових інтервалів вимагає для виконання кожний варіант компіляції?
Відповідь
Варіант 1 виконує 2 + 1 + 2 = 5 інструкцій. Варіант 2 виконує 4 + 1 + 1 = 6 інструкцій. На перший погляд, варіант 1 є швидшим.
Розглянемо питання ретельніше. Визначимо кількість тактових інтервалів, витрачених обробкою кожного варіанту. Маємо
CPU clock cycles = .
Відповідно у першому та другому варіантах отримаємо, що
CPU clock cycles 1 = (2х1) + (1х2) + (2х3) = 10 cycles;
CPU clock cycles 2 = (4х1) + (1х2) + (1х3) = 09 cycles.
Виходить, що варіант 2 є скорішим. Тобто варіант 2 без втрати продуктивності можна виконувати на повільнішому CPU, хоча він і містить більше інструкцій.
Визначимо ще середнє значення кількості тактових інтервалів на виконання однієї інструкції в кожному варіанті коду.
CPI = CPU clock cycles / Instruction count
CPI 1= CPU clock cycles 1 / Instruction count 1 = 10 / 5 = 2;
CPI 2 = CPU clock cycles 2 / Instruction count 2 = 9 / 6 = 1,5.
Тобто, перевага виникає тоді, коли забезпечено менше середнє значення СРІ.
13. Розглянемо машину з трьома класами інструкцій, кожна з яких має відповідне число тактових інтервалів (ЧТІ) на виконання, як то подано таблицею. Ця ж таблиця подає результати компіляції певної програми. Нехай машина має тактову частоту 500 МГц.
Джерело коду
Число інструкцій ( в мільярдах) відповідного класу в складі програми
А (ЧТІ=1)
В (ЧТІ=2)
С (ЧТІ=3)
Компілятор 1
5
1
1
Компілятор 2
10
1
1
Якою є швидкодія коду другого компілятора в одиницях MIPS (Million Instruction Per Second)?
Відповідь
Перед усім визначимо час виконання кож...